//package com.leetroll.admin.security;
//
//import com.leetroll.common.config.security.SecurityUser;
//import com.leetroll.common.entity.Admin;
//import com.leetroll.common.enums.EStatus;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.SimpleGrantedAuthority;
//import java.util.List;
//import java.util.stream.Collectors;
//
///**
// * SpringSecurity用户工厂类
// */
//public final class SecurityUserFactory {
//
//    private SecurityUserFactory() {
//    }
//
//    /**
//     * 通过管理员Admin，生成一个SpringSecurity用户
//     */
//    public static SecurityUser create(Admin admin) {
//        boolean enabled = admin.getStatus() == EStatus.ENABLE;
//        return new SecurityUser(
//                admin.getUid(),
//                admin.getUserName(),
//                admin.getPassWord(),
//                enabled,
//                mapToGrantedAuthorities(admin.getRoleNames())
//        );
//    }
//
//    /**
//     * @Author qdy
//     * @Description 将map转化为权限集合，用于收集用户权限后面做校验
//     **/
//    private static List<GrantedAuthority> mapToGrantedAuthorities(List<String> authorities) {
//        //因为权限接受的是一个泛型集合 Collection<? extends GrantedAuthority> authorities，这里需要传入它的一个实现类转换SimpleGrantedAuthority
//        return authorities.stream()
//                .map(SimpleGrantedAuthority::new)
//                .collect(Collectors.toList());
//    }
//
//}
